Pervasive proactive project planner

ABSTRACT

A method and structure for coordinating resources to complete a design project prioritizes tasks to create a project plan, automatically notifies resources of task responsibilities and associated due dates based on the project plan through the use of encryption keys, controls access to the design data through the use of the encryption keys assigned to the resources, automatically monitors work being performed on tasks through a computerized network, and automatically notifies a project team leader of task completion status, overdue tasks, and tasks being ignored, based on the monitoring.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention generally relates to project planning engines and more particularly to an improved planning engine which automatically monitors the status of tasks being performed by resources.

[0003] 2. Description of the Related Art

[0004] Today's complex projects often have large design teams with complex methodologies and tools. Each tool may perform a specific task within the design flow. Teams may range from a few individuals on up to the hundreds. The need to control and track these activities have become a major focus within corporations today. The current method involves a graphical entry tool that allows the user to enter start and end dates and to link activities together, and to list the required resource (person) for the task.

[0005] Another software execution tool then uses an e-mail system to send out reminder notes to the resource (person) as to the task that needs to be completed and the time frame it needs to be accomplished during. It allows the resource (person) who has the task completion responsibility to enter into the system when the task is completed. This can be overridden by the project manager and his delegates. Usually, a team will designate a Project Team Leader whose job description is gathering the status of the team, and ensuring that the project planner stays in sync with the activities.

[0006] Several flaws exist with this present system. First, it is difficult to gather the data and keep the plan on track with all the individuals and activities within the project. Also, one person's definition of complete, may be different from another. Another problem is that there is not a connection with the ongoing activities and the project planning tool. These methodologies may be custom or ASIC (application specific integrated circuit) methodologies, but each is a collection of tools whose sum of the total results in a functional chip. The actual execution of these tools, and the project planning are conventionally only connected to a limited extent. Once again, the designers and Project Team Leader must factor these tasks/resources into the global plan. Another major flaw is that often the individual designers are not fully integrated into the project. Except for the status between the designer (resource and the Project Team Leader), the individual designers do not have direct update access to the plan. With the conventional systems, having all the designers accessing the project plan would most likely lead to chaos, and error.

SUMMARY OF THE INVENTION

[0007] In view of the foregoing and other problems, disadvantages, and drawbacks of the conventional planning engines, the present invention has been devised, and it is an object of the present invention to provide a structure and method for an improved planning engine.

[0008] In order to attain the object(s) suggested above, there is provided, according to one aspect of the invention, a method of coordinating resources to complete a design project. The method identifies tasks that must be finished to complete the design project based on design data. The invention assigns tasks to a plurality of resources and prioritizes the tasks based on dependency between the tasks to create a project plan. Next, the invention stores the project plan and the design data in a database. The invention automatically notifies the resources of corresponding task responsibilities and associated due dates based on the project plan through the use of encryption keys. The invention controls access to the design data through the use of the encryption keys assigned to the resources. The invention automatically monitors work being performed on the tasks through a computerized network and automatically notifies a project team leader of task completion status, overdue tasks, and tasks being ignored, based on the monitoring. The monitoring includes observing whether a resource is actively working on a task exclusively by observing network activity of the resource. The invention automatically schedules a meeting of all corresponding resources if a task becomes overdue. Further, the invention produces periodic status reports based on the monitoring. The invention automatically notifies the resources of additional tasks as prerequisite tasks are completed. The invention automatically searches for additional resources for tasks that are overdue. The monitoring process includes a polling function. With the invention, the project planner and database/tools 142, the design data 125, the designers 115-118, and the design tools 126 are fully integrated into a cohesive and pervasive whole 110. When being assigned a task, each user is provided with keys of that allow access to in the necessary tools. The keys allow the invention to track the progress of each task by utilizing the time parameters within each of the keys. Therefore, the invention controls access to the tools and assigns tasks through use of keys. The result is that the project planer 142 is fully integrated into the actual design tasks without the need of manual intervention. Changes in schedule can occur in a real time manner. Work completing early can be detected, and the next tasks launched and vice versa (the overdue task is visible). In addition, tasks being ignored are immediately flagged, and proper attention can be applied to the problem- In this manner, a higher probability of success can occur.

BRIEF DESCRIPTION OF THE DRAWINGS

[0009] The foregoing and other objects, aspects and advantages will be better understood from the following detailed description of a preferred embodiment(s) of the invention with reference to the drawings, in which:

[0010]FIG. 1 is a schematic diagram of a system embodiment of the invention;

[0011]FIG. 2 is a schematic diagram of a system embodiment of the invention;

[0012]FIG. 3 is a flow diagram illustrating a preferred method of the invention;

[0013]FIG. 4 is a hardware diagram of a computer system used with the invention; and

[0014]FIG. 5 is a schematic diagram of an encryption key.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS OF THE INVENTION

[0015] The invention, which is sometimes referred to herein as the Pervasive Proactive Project Planner (PPPP) fully integrates the project planning tool fully into the design methodology. With the invention, the project planner, project planner database/tool, the data, the designers, and the design tools are fully integrated into a cohesive and pervasive whole. The PPPP enables, tracks, alerts, and controls, with full automation, the design methodology.

[0016]FIG. 1 illustrates an overall system diagram using the invention. More specifically, FIG. 1 shows the inventive project planner as item 110. A central database is shown as item 120. A user 180 provides input to the project planner 110 and the central database 120. Many conventional software applications 150 can be utilized with the invention, such as timing control, test generation, simulation, or other design software tools that link software design and the data. For example, the software application 150 can access the central database 120 using keys 151. The Project Manager 112 acts at the direction of the stakeholders 170 (who have requested the project) to execute the inventive project planner 112. With the invention, all functions are coordinated through the network 130. The detailed operation of the various functions shown in FIG. 1 are discussed in greater detail with respect to FIG. 2 below.

[0017] As shown in FIG. 2, the invention PPPP 110 includes a proactive project planner 142 that sends notices through a computer network 130 (local area network (LAN), wide area network (WAN), etc.) as to whether the task is on time and estimates on completion time. System warnings and response mechanisms that require task leader responses are included in this notice. Task leader 112 responses are monitored by the system and information is fed back to the project Manager.

[0018] Daily status reports are generated and distributed by the report generator 140 to all core members of team 115-118. Completion target date, project completion date and other useful information are also sent out to the team 115-118 within the encryption keys 151. Helpful suggestions on how to reduce the total cycle time (based on analysis of the current data) is provided to the team 115-118 in the reports. With the invention, if a task is completed sooner than expected, then the team members can be reassigned to another task. The change in assignment can be done manually or automatically. If the reassignment is done automatically, the invention provides the keys 151 to the team member at an earlier time than they would otherwise receive the keys.

[0019] The invention sends notes (e-mails) automatically 147 to team members 115-118 congratulating them on the completion of their task and asking for feedback on future improvements of the project.

[0020] Polling software 146 in the PPPP 110, automatically determines how much of a project task is completed, avoiding the need to make the project lead 112 stop his work to fill out a form. The invention 110 maintains the status of all project tasks. The polling software 146 also tracks how much time is spent by each developer 115-118 doing his work. If the developer/designer 115-118 logs on and does nothing for a period of time (based on document changes, compilation runs, tool usage, sensed over the network etc.), the invention does not count this time as working on the project task. Therefore, the PPPP 110 through the polling software 146 actually monitors through the network the hours and minutes that a designer devotes to actively working on a particular project task (in real time), not merely the amount of time a file is opened by a designer. This feature is useful in tracking specific expenses of work done on projects. This expense is often hard to track manually through the network because of multiple projects taking place at one time. To the contrary, with the polling feature, the project manager has automatically produced, up to the minute reports on the amount of time that his team is spending on a specific task.

[0021] In addition, the polling software 146 utilizes time parameters that are contained within each of the keys. FIG. 5 conceptually illustrates one of the keys 151 in greater detail. Each key 151 includes data 50, the team members name 51, the start date of a task 52, the end date of the task 53, and the tool or resource (target) to which the key provides access 54. In addition, the key can include other information 55 depending upon the specific application. Therefore, the key only allows the team member access to the target for a limited period of time The polling software utilizes this information to track the progress of each task. In addition, the polling software can modify the keys. Thus, if a task regularly takes longer or shorter than expected, the difference between the start date 52 and the end date 53 is changed by the polling software.

[0022] In addition, by storing feedback, etc. in an advice database 143, the invention polls, stores and recommends project tasks that are the most successful. Therefore, if a current method being tried by the task leader has failed every time it was tried before, the database would warn the task leader of previous failures and give failure analysis. For example, each tool, application, etc. may contain helpful notes regarding the successfulness of the operation, before it is used and may even contain a recommendation to the user to try something different first, because of the higher likelihood of success with the alternative tool, application, etc.

[0023] The PPPP 110 also includes a proactive additional resource finder 141. This allows the PPPP 110 to search the network 130 for additional resources to complete the task automatically if the project task is overdue and additional internal resources are not available. For example, the resource finder 141 will automatically send out e-mail to known resources requesting assistance when a project become overdue (more than a predetermined period past the proposed due date contained in the key 151).

[0024] The PPPP 110 includes a term and acronym filter 144 that comprises a database of on-line help to give a high level overview and modeling capability. If a particular task description uses unfamiliar terms and acronyms, then this would be available to provide assistance.

[0025] The PPPP 110 has an automatic meeting scheduler 145. Besides checking all team member's availability for a requested meeting, the meeting scheduler 145 also automatically schedules a meeting when the project has fallen behind by a certain amount. The meeting scheduler 145 would be supplied with a list of parties who would automatically be invited, depending upon the task that is overdue, as well as a prescribed agenda that may include, for example, reports from each team member regarding task status/task problems.

[0026] A database 120 links the project planner system 110, the project planner 142, the designers 115, the design data 125, and the design entry/chip build tool set 126.

[0027] The PPPP database 120 is a traffic control unit that keeps tracks of when data is checked out or in by the various designers 115-118. The PPPP database 120 has new functions not existing in prior centralized databases.

[0028] For example, new to the database 120 is an enhanced link to the project planning database 142. These databases share key information in the form of task/data/resource tags along the encryption keys 151. Each task/resource and time domain is controlled by the project planning database 142. Before design is allowed to occur, the project planner 142 along with the designers 115-118 are required to enter into the project planning database all design data, designs, tools, and tasks. The project planner database 142 is modified to include the type of tools for a task to be included along with the most appropriate resource (person) 115-118 for the task and the duration of the task. In order to properly match the resource with the task, the invention maintains resource profiles (qualifications) of each of the resources. In this way, the invention can track whether a resource is receiving tasks for which the designer (resource) is qualified.

[0029] In addition, with the invention all tasks identify the design data 125 as a resource. So when a task is entered in the project planner 142, the information entered includes the task, the person (resource) 115-118, the data source, and optional data destination, the design tools used 125, 126, for the task along with normal start, end and any task that may gate the start of the task, along with any task that may be gated by this task. A first task “gates” a second task if the first task is a prerequisite to (must be completed before) the second task. Thus, the project planner tool 142 creates a data structure that includes the complete function (resource, task, time, tools, etc.) along with a valid encrypted set of keys.

[0030] The database 120 incorporates the project planner 142 data structure to allow checking out and checking in of data. When a designer 115-118 is ready to execute a task, the designer 115-118 identifies the task to the central database 120, and the central database 120 searches the project planner 142 data structure to determine whether or not the task exists, and whether a set of encrypted keys exist. If the task exists (i.e., has been defined within the project planner database 142), and a valid set of keys exists, then the designer 115-118 is given a copy of the design data 125 along with a valid key. As a result of checking out the data, the central database 120 marks the project planner data structure 142 for that task as “active” and begins monitoring through the polling function 146, as discussed above. Thus, the project planner 142 is automatically notified of an ongoing task.

[0031] If the designer requires a design system tool 126 to perform a function of the design data 125, the designer provides to the tool 126 both the data, and the encryption key. To activate, the tool 126 acquires a complement active key 152 (lock) from the central database 120. The complement key 152 is one that complements the key provided by the design data (e.g., the lock that requires the designer's key 151). If the complement key does not exist, the designer is notified that an unplanned task is being attempted to the design data. In addition, the project planner is automatically notified.

[0032] The invention allocates the tools/tasks for any design data. Once the designer has completed the task, the data is checked back into the central database 120. Once again, the designers must have a valid key in order to check in the data/results into the database. The central project planner 142 automatically updates the project plan data structure to mark the units return and completion. The project plan database 142 updates itself based on the completed task. More specifically, besides marking the task complete, the project plan database unlocks (by creating valid keys) any tasks that were gated by the just completed task. Though the automatic e-mail function 147, the project planner 142 is notified, along with all designers that were being gated, of the completed task. All unlocked tasks then can request from the central database the required data and keys. This process repeats as the project moves to completion.

[0033]FIG. 3 shows the invention in flowchart form. The flowchart begins at item 300 where the stakeholder 170 defines a project request. The Project Manager 112 operates the project planner 110 to schedule tasks among the designers 115-118, as discussed above (as shown in item 302). In item 304, the central planer create links between the software tool, the planner, and the user interface. The user 180 can perform parallel options while the project is being completed 306. Then, in item 308, the various tasks are completed by the designers 115-118 using the databases and keys, as discussed above. Item 310 illustrates the process of determining whether a designer has a valid key. The key must have been issued within a prescribed time (the key must not be timed out). If the key is invalid, the project planner is notified of the improper design access.

[0034] In item 312, the process loops back as long as there are additional tasks to be completed. Item 314 represents the various special functions that the invention can achieve. More specifically, the invention can produce final audits indicating the efficiency and resources used of the different corporate departments who contributed to completing a project. The invention allows the user or stakeholder to request to review the design that any point in the process to make sure the design complies with their goals. As mentioned above, the meeting scheduler 145 can automatically (or when prompted) schedule a meeting. In addition, the project team leader/manager 112 can decide to refuse a job based on predetermined criteria.

[0035] A representative hardware environment for practicing the present invention is depicted in FIG. 4, which illustrates a typical hardware configuration of an information handling/computer system in accordance with the subject invention, having at least one processor or central processing unit (CPU) 10. CPUs 10 are interconnected via system bus 12 to random access memory (RAM) 14, read-only memory (ROM) 16, an input/output (I/O) adapter 18 for connecting peripheral devices, such as disk units 11 and tape drives 13, to bus 12, user interface adapter 19 for connecting keyboard 15, mouse 17, speaker 103, microphone 104, and/or other user interface devices such as touch screen devices (not shown) to bus 12, communication adapter 105 for connecting the information handling system to a data processing network, and display adapter 101 for connecting bus 12 to display device 102. A program storage device readable by the disk or tape units, is used to load the instructions which operate on the inventive system which is loaded onto the computer system.

[0036] Several key features exist with this new integrated PPPP environment 110. With the invention, the project planner and database/tools 142, the design data 125, the designers 115-118, and the design tools 126 are fully integrated into a cohesive and pervasive whole 110. When being assigned a task, each user is provided with keys of that allow access to in the necessary tools. The keys allow the invention to track the progress of each task by utilizing the time parameters within each of the keys. Therefore, the invention controls access to the tools and 10 assigns tasks through use of keys. The result is that the project planer 142 is fully integrated into the actual design tasks without the need of manual intervention. Changes in schedule can occur in a real time manner. Work completing early can be detected, and the next tasks launched and vice versa (the overdue task is visible). In addition, tasks being ignored are immediately flagged, and proper attention can be applied to the problem. In this manner, a higher probability of success can occur.

[0037] While the invention has been described in terms of preferred embodiments, those skilled in the art recognize that the invention can be practiced with modification within the spirit and scope of the appended claims. 

What is claimed is:
 1. A method of coordinating resources to complete a design project, said method comprising: prioritizing tasks to create a project plan; automatically notifying resources of task responsibilities and associated due dates based on said project plan through the use of encryption keys; controlling access to said design data through the use of said encryption keys assigned to said resources; automatically monitoring work being performed on said tasks through a computerized network; and automatically notifying a project team leader of task completion status, overdue tasks, and tasks being ignored, based on said monitoring.
 2. The method in claim 1, wherein said monitoring includes observing whether a resource is actively working on a task exclusively by observing network activity of said resource.
 3. The method in claim 1, further comprising automatically scheduling a meeting of all corresponding resources if a task becomes overdue.
 4. The method in claim 1, further comprising producing periodic status reports based on said monitoring.
 5. The method in claim 1, further comprising automatically notifying said resources of additional tasks as prerequisite tasks are completed.
 6. The method in claim 1, further comprising automatically searching for additional resources for tasks that are overdue.
 7. The method in claim 1, wherein said monitoring comprises a polling function.
 8. A method of coordinating resources to complete a design project, said method comprising: identifying tasks that must be finished to complete said design project based on design data; assigning said tasks to a plurality of resources; prioritizing said tasks based on dependency between said tasks to create a project plan; storing said project plan and said design data in a database; automatically notifying said resources of corresponding task responsibilities and associated due dates based on said project plan through the use of encryption keys; controlling access to said design data through the use of said encryption keys assigned to said resources; automatically monitoring work being performed on said tasks through a computerized network; and automatically notifying a project team leader of task completion status, overdue tasks, and tasks being ignored, based on said monitoring.
 9. The method in claim 8, wherein said monitoring includes observing whether a resource is actively working on a task exclusively by observing network activity of said resource.
 10. The method in claim 8, further comprising automatically scheduling a meeting of all corresponding resources if a task becomes overdue.
 11. The method in claim 8, further comprising producing periodic status reports based on said monitoring.
 12. The method in claim 8, further comprising automatically notifying said resources of additional tasks as prerequisite tasks are completed.
 13. The method in claim 8, further comprising automatically searching for additional resources for tasks that are overdue.
 14. The method in claim 8, wherein said monitoring comprises a polling function.
 15. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform a method for coordinating resources to complete a design project, said method comprising: prioritizing tasks to create a project plan; automatically notifying resources of task responsibilities and associated due dates based on said project plan through the use of encryption keys; controlling access to said design data through the use of said encryption keys assigned to said resources; automatically monitoring work being performed on said tasks through a computerized network; and automatically notifying a project team leader of task completion status, overdue tasks, and tasks being ignored, based on said monitoring.
 16. The program storage device in claim 15, wherein said monitoring includes observing whether a resource is actively working on a task exclusively by observing network activity of said resource.
 17. The program storage device in claim 15, wherein said method further comprises automatically scheduling a meeting of all corresponding resources if a task becomes overdue.
 18. The program storage device in claim 15, wherein said method further comprises producing periodic status reports based on said monitoring.
 19. The program storage device in claim 15, wherein said method further comprises automatically notifying said resources of additional tasks as prerequisite tasks are completed.
 20. The method in claim 15, wherein said method further comprises automatically searching for additional resources for tasks that are overdue. 